//bindwechat.js
var QR = require('../../../../../utils/qrcode.js');
var common = require("../../../../../utils/common.js");

//获取应用实例
var app = getApp()
Page({
  data:{
    /*
    官网说hidden只是简单的控制显示与隐藏，组件始终会被渲染，
    但是将canvas转化成图片走的居然是fail，hidden为false就是成功的
    所以这里手动控制显示隐藏canvas
    */
    maskHidden:true,
    instruction:'注：此功能必须绑定人与被绑定人进行面对面操作。\n如果您需要绑定到他人账本，请点以下按钮扫描他人手机上的该页二维码（即：绑定）。\n如果您需要让他人与您共享本微信号账本，请让他人扫描以上二维码（即：被绑定）。',
    bindToken:'',
    formId:''
  },
  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
    var size = this.setCanvasSize();//动态设置画布大小
    var initUrl = app.globalData.wangcaiToken
    this.createQrCode(initUrl,"mycanvas",size.w,size.h);

  },
  //适配不同屏幕大小的canvas
  setCanvasSize:function(){
    var size={};
    try {
        var res = wx.getSystemInfoSync();
        var scale = 750/686;//不同屏幕下canvas的适配比例；设计稿是750宽
        var width = res.windowWidth/scale;
        var height = width;//canvas画布为正方形
        size.w = width;
        size.h = height;
      } catch (e) {
        // Do something when catch error
        console.log("获取设备信息失败"+e);
      } 
    return size;
  } ,
  createQrCode:function(url,canvasId,cavW,cavH){
    //调用插件中的draw方法，绘制二维码图片
    QR.qrApi.draw(url,canvasId,cavW,cavH);
    
  },
  scan: function(e) {
    var that=this
    wx.scanCode({
      success: function(res){
        that.setData({
          bindToken:res.result,
          formId:e.detail.formId
        })
        // 发送请求，绑定账号
        that.submitData(function(res){
          if(res.status==-1){
            
          }else{
            // 存储userInfo.binduserinfo
            app.globalData.userInfo.binduserinfo=res.data
            //刷新上一页数据
            var pages = getCurrentPages();
            if(pages.length > 2){
                //上上一个页面实例对象
                var preperPage = pages[1];
                preperPage.getData()
                //上一个页面实例对象
                var prePage = pages[2];
                prePage.bindCallback()
            }
            wx.navigateBack({
              delta: pages.length - 2
            })
          }
        })
      }
    })
  },
  submitData: function(cb) {
    var that = this;
    var token = app.globalData.wangcaiToken
    var bindtoken = that.data.bindToken
    
    wx.request({
      url: common.apiUrl()+'bindWeChat/'+token+'/'+bindtoken,
      data: {
        formid:that.data.formId
      },
      method:'POST',
      header: {
      'content-type': 'application/x-www-form-urlencoded'
        },
      success: function(res){
        if(res.data.status==1){
          wx.showToast({
            title: '绑定成功',
            icon: 'success',
            success: function(e){
              typeof cb == "function" && cb(res.data)
            }
          })
        }else{
          app.errorToGetToken()
        }
      }
    })
  }
})